Dependency (SwiftUI)
#SwiftUI
Dependency とは
SwiftUI
における View Dependency とは、いわゆる View への入力のこと。基本的にはView のプロパティを指す。
code:swift
strut Cat: View {
@Binding var cat: Cat //-+--- この2つがDependency
var isSleeping: Bool //-+
var body: some View {
// ...
}
}
View に対して何かアクションが発生すると、View の
Dependency (SwiftUI)
が変化する。
Dependency (SwiftUI)
が変化すると、その
Dependency (SwiftUI)
に依存した View が再描画される。というサイクルが発生する。
ある
Dependency (SwiftUI)
が変化した時、
SwiftUI
はその
Dependency (SwiftUI)
の依存元である View を無効化し、各々の body の値を新しく生成する。その結果、body の生成を通じてより多くの View が描画される可能性がある。が、
SwiftUI
は View の型構造を比較して、適切なサブセットのみを更新することができる。View は値型であり、その値はこうした比較のために使われる。
Demystify SwiftUI - WWDC 2021